Machine vision is the technology used to provide imaging-based automatic inspection and analysis for applications such as parts inspection, process control, and robot guidance in industry. Employing the correct lighting is critical to creating a reliable, repeatable machine vision application.
Currently, the light sources commonly applied in machine vision inspection systems include halogen-, fluorescence-, xenon-, LED- and OLED-based lamps. Since the LED has many advantages over other light sources (such as long lifetime, low power consumption, fast response time, low probability of damage, etc.), the LED has been widely adopted in machine vision inspection systems and has gradually replaced other light sources to become the most commonly utilized technology in the market.
Lamps are available in various form factors including area, line, ring and spot lamps. Lamps provide lighting which is often used in machine vision systems for inspecting objects, e.g., to provide a backlight for illuminating an object to be inspected from behind the object (relative to a camera or imager). Such backlights allow features of the object which is to be inspected, especially peripheral features, to be observed more clearly than when the object is illuminated directly (i.e., from the front of the object). By way of example but not limitation, the present invention comprises the provision and use of an electronic engine for an LED backlight. However, it will be appreciated by those skilled in the art that the present invention can also be utilized in other types of lights (e.g., direct light lamps) and in a variety of form factors.
Machine vision systems can only generate high quality images if the lighting used to inspect an object clearly defines the elements of the object which is being inspected. For many applications, the object under inspection is moving at high speed past the camera and lighting apparatus, and/or a high intensity light is required in order to achieve a meaningful measurement of the object being inspected. In these situations, the LED lights are often overdriven by strobe (or pulse) control so as to increase the intensity from the LED light source for a short, defined period of time. This is to ensure successful image capture by the camera system. This requirement for strobe (or pulse) control can add complexity to the design of the LED control circuitry when large numbers of LEDs are required.
In addition, in machine vision, it is sometimes desirable to change the LED pattern profile while strobing as a means to further inspect items. In other words, it is sometimes desirable to select which LEDs will be powered so as to form a desired form factor (e.g., an area lamp, a line lamp, a ring lamp, a spot lamp, etc.). This requires that the user have the ability to individually control the various LEDs used in the lamp, which can further increase the complexity and cost of the LED control circuitry. It is also often desirable to be able to create and store patterns of LED activation for future use, and not be reliant on “factory set” patterns of LED activation. This can be important where a custom-designed LED activation pattern is required by the user.
1. Issues with Large LED Arrays
There is an increasing demand for higher intensity (i.e., brighter), LED-based lamps (e.g., backlights) for use with high speed inspection of a variety of products and materials. This demand has led to the development of large LED array systems comprising hundreds (or even thousands) of individual LEDs. Currently-available LED array systems are typically limited by a variety of issues. By way of example but not limitation, currently-available LED array systems typically cannot address individual LEDs within the large LED arrays, are generally quite large and bulky, are typically complex, are typically inefficient, generally require large power supply units (e.g., in excess of one kilowatt) and are typically very expensive.
In these large LED array systems, the LEDs are typically placed in a series, or in parallel strings, which limits the controllability to individual strings (or “boards”) of LEDs. When LEDs are connected in series, brightness-matching is typically maximized, meaning that the variation of brightness of one LED in the series compared to another LED in the series is not visible. The primary disadvantage of using a series configuration is that the output voltages can be very high when large numbers of LEDs are used. Connecting strings of LEDs in parallel will typically reduce the maximum string voltage required, and will also add some fault immunity. However, the disadvantages of using a parallel configuration are power consumption in the balance resistors, non-uniformity of the optical output and lower system efficiency.
There are numerous strategies that can reduce the aforementioned issues, such as matrix-type configurations, but all of these strategies ultimately lead to increases in the size and cost of the LED array system. Furthermore, many of these strategies are inefficient, inasmuch as they draw electrical power even when it is not required, by virtue of being powered continuously. LED array systems that use strobing techniques to reduce the continuous power draw typically require large and expensive power supply units (e.g., >1 kilowatt). This in turn requires the use of expensive (and large gauge) wiring and cabling which limits the flexibility and modularity of the overall LED array system.
Some manufacturers use microcontrollers in the LED array systems in order to manage individual constant current drivers for the LEDs. However, for systems with a large number of LEDs, a single microcontroller is not able to balance the LED currents to the precision that is generally required. Adding a microcontroller for each LED string (i.e., for each group of LEDs) generally leads to an unacceptable rise in costs and an increase in the space required for the LED control circuitry.
Pulse Width Modulation (PWM) is a standard technique for controlling the intensity of light pulses. Instead of increasing or decreasing the brightness of the light by varying the current to the LEDs, the light is rapidly switched on and off in a regular pattern. The intensity of the light is governed by the duty cycle, by varying the proportions of the time that the light is on or off. Maximum intensity (i.e., brightness) is achieved when the light is on 100% of the time, 50% brightness is achieved when the light is on for half the time, etc.
PWM control circuitry is typically created using specialty hardware in an embedded microcontroller unit (MCU). Most MCUs have one or more hardware PWM outputs for such applications. However, for large scale LED arrays, these techniques are not suitable. For example, if an LED array system had 1000 LEDs, each LED would need to be individually controlled by the MCU. Therefore this system would need approximately 1000 separately-controlled PWM outputs for the MCU. PWM can also be effected in software in a loop, turning the light on for a timed period and then turning it off for a timed period. However, in software implementations, the MCU is limited by clock speed and other factors. Therefore, only a relatively small number of PWM outputs can be implemented using software implementations before the limits of the MCU are reached.
Therefore, it would be desirable to provide a modular LED driving and control scheme that can address individual elements of a large array of LEDs at a reasonable cost and which is easily scalable, flexible in design so as to allow for various form factors, and which works independently of device wavelength, device type (e.g., LED, OLED, etc.) or system power requirements, while still allowing the user full control of various strobe profile parameters.